MÉMOIRES VIRTUELLES

MÉMOIRES VIRTUELLES
MÉMOIRES VIRTUELLES

MÉMOIRES VIRTUELLES

Le concept de mémoire virtuelle est intimement lié à l’évolution fonctionnelle des mémoires, considérées du point de vue de leur importance relative lors des différentes étapes du traitement informatique. En effet, on s’est aperçu assez rapidement de la nécessité d’introduire une hiérarchie dans les mémoires utilisées par les ordinateurs. Cette hiérarchie est fondée sur des considérations de temps et d’espace, selon deux lois (énoncées par R. E. Matick): d’après la première loi, les applications informatiques ont tendance à requérir la totalité de la puissance de l’unité centrale (temps d’exécution); la deuxième loi indique que les applications tendent à requérir la totalité de la capacité mémoire disponible. C’est ainsi que, historiquement, on a pu assister à une différenciation progressive du rôle des mémoires et à l’établissement d’une hiérarchie destinée à résoudre les deux problèmes fondamentaux liés aux lois énoncées ci-dessus: d’une part, combler l’écart entre les performances (vitesse) de l’unité centrale et celles de la mémoire principale, et, d’autre part, disposer d’un espace de stockage de plus en plus important. Les premières tentatives visant à réduire l’écart entre les vitesses des circuits de l’unité centrale et celles des circuits mémoire ont donné naissance, vers 1965, aux mémoires bloc-note (scratch-pad memories ), aux temps d’accès améliorés, et qui ont été à l’origine du développement des mémoires-cache , qui ont pour fonction de stocker les informations le plus fréquemment utilisées; puisque ce sont les mémoires les plus rapides, elles contribuent de ce fait à une amélioration des performances globales du système. C’est un premier type de hiérarchie. Un autre type de hiérarchie se rapporte cette fois aux considérations d’espace. Les applications de taille importante obligeaient autrefois le programmeur à diviser ses programmes en parties plus ou moins indépendantes et à les traiter à la suite les unes des autres, de manière à optimiser à la fois l’occupation de la mémoire principale et le recours aux mémoires auxiliaires.

En fait, deux parties distinctes d’un programme complexe ne pouvaient pas être appelées simultanément, et des précautions devaient être prises pour régler au mieux le problème des entrées/sorties. Les techniques de la multiprogrammation sont d’ailleurs nées de ce genre de préoccupation. Au fur et à mesure de la croissance des systèmes en taille et en complexité, les problèmes de gestion des mémoires et l’optimisation des entrées/sorties sont devenus de plus en plus difficiles. De cette constatation est né le concept de mémoire virtuelle, destinée, d’une part, à accroître artificiellement la taille mémoire disponible, et, d’autre part, à soulager l’utilisateur du souci de la gestion des relations entre les mémoires auxiliaires (disques, tambours) et la mémoire principale, ou entre celle-ci et la mémoire cache. Donc, double hiérarchie, présente dans la plupart des systèmes selon trois schémas: hiérarchie virtuelle cache-mémoire principale, hiérarchie virtuelle mémoire principale-mémoire auxiliaire, ou une combinaison de ces deux schémas.

Le concept de mémoire virtuelle (selon l’une ou l’autre de ces hiérarchies) repose sur la notion de page. Les programmes et les données sont automatiquement segmentés en blocs de longueur fixe appelés pages. Les adresses des éléments constituant les pages sont dites translatables, c’est-à-dire qu’elles ne sont déterminées que par des valeurs de déplacement relatif à l’intérieur de la page. Les pages constituent en elles-mêmes des unités de traitement: leur situation physique à un moment donné est déterminée automatiquement par le système (en mémoire principale ou en mémoire auxiliaire). Or, l’ensemble de toutes les informations contenues dans les pages excède en principe la capacité totale de la mémoire. En d’autres termes, il existe une différence entre les adresses physiques réelles disponibles en mémoire et les adresses théoriques (nous dirons virtuelles) de toutes les informations présentes dans l’ensemble du système.

Dans ces conditions, une mémoire virtuelle se définit par l’étendue des adresses référencées dans un programme donné, indépendamment de la taille réelle de la mémoire principale. La taille d’une mémoire virtuelle n’est donc limitée que par les capacités d’adressage du système et non par la capacité mémoire réelle de la machine, étant entendu que seules les parties actives des programmes et des données sont dans la mémoire principale à un instant donné. Les pages nécessaires ne sont chargées en mémoire qu’au moment où on en a besoin et les pages inactives sont recouvertes. Ce processus implique le recours au swapping (échange) des pages entre mémoire principale et mémoires auxiliaires. Le problème de l’adressage est résolu par translation dynamique des adresses effectuées automatiquement.

Du point de vue du système, les fonctions de gestion mémoire sont la gestion du chargement et de la répartition des pages en mémoire selon un algorithme de remplacement et la mise à jour des tables de translation d’adresse. L’algorithme de remplacement est fondé sur un principe d’optimalité. Plusieurs techniques peuvent être employées. On mentionnera la technique FIFO (First In First Out: la nouvelle page remplace en mémoire la page la plus ancienne), la technique LRU (Last Recently Used: on élimine la page la plus récemment utilisée), la technique du «Working Set» (on remplace la page qui n’a pas été utilisée pendant une période de temps définie à l’avance), etc. Lorsqu’une page demandée par le programme n’est pas en mémoire, le processeur d’entrée/sortie procède à son écriture en mémoire principale; pendant ce temps, l’unité centrale peut transférer le contrôle à un autre programme sans entrer dans un état d’attente: l’utilisation de l’unité centrale est ainsi optimisée. Cette technique est évidemment une technique avancée de multiprogrammation. Elle fait appel à un certain nombre de fonctions indispensables: gestion évoluée des entrées/sorties avec procédures optimisées de translation d’adresses, mécanismes de protection mémoire, partage des pages entre utilisateurs distincts.

Encyclopédie Universelle. 2012.

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Histoire De La Comptabilité — Depuis l’Antiquité, l’activité comptable (au sens de décompte des valeurs ) ne se limitait pas seulement au fait d’enregistrer des actes commerciaux. Les ancêtres des comptables se rencontraient déjà dans les anciennes civilisations, chez les… …   Wikipédia en Français

  • Histoire de la comptabilite — Histoire de la comptabilité Depuis l’Antiquité, l’activité comptable (au sens de décompte des valeurs ) ne se limitait pas seulement au fait d’enregistrer des actes commerciaux. Les ancêtres des comptables se rencontraient déjà dans les anciennes …   Wikipédia en Français

  • Histoire de la comptabilité — L histoire de la comptabilité naît depuis l’Antiquité. L’activité comptable (au sens de décompte des valeurs ) ne se limitait pas seulement au fait d’enregistrer des actes commerciaux. Les ancêtres des comptables se rencontraient déjà dans les… …   Wikipédia en Français

  • MCD — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres …   Wikipédia en Français

  • Остроградский, Михаил Васильевич — профессор математики, ординарный академик Императорской Академии Наук. М. В. Остроградский родился 12 сентября 1801 года в принадлежавшей его отцу деревне Пашенной, Кобелякского уезда, Полтавской губернии, где и провел свои детские годы.… …   Большая биографическая энциклопедия

  • ESX3i — VMware VMware, Inc. Siège de VMware, Inc. à Palo A …   Wikipédia en Français

  • VMWARE — VMware, Inc. Siège de VMware, Inc. à Palo A …   Wikipédia en Français

  • VMWare — VMware, Inc. Siège de VMware, Inc. à Palo A …   Wikipédia en Français

  • VM Ware — VMware VMware, Inc. Siège de VMware, Inc. à Palo A …   Wikipédia en Français

  • VMware — VMware, Inc. Siège de VMware, Inc. à Palo Alto (Californie …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”